Phong, Gouraud, Flat, And Toon Shading In Opengl